home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / comm2 / zpont311.lha / zpoint-3.11 / Rexx / ZPBM.zprx < prev    next >
Text File  |  1995-08-12  |  7KB  |  244 lines

  1. /*  $VER: ZPBM.zp 0.10 Beta von Frank Meister                      *
  2.  *  AREXX Script für ZPBM ( Brettmanager für Zodiac's Point )      *  
  3.  *******************************************************************/
  4.                 /* Wo befindet sich ZPBM ?                         */
  5. zpbm          = 'dh1:tools/zpbm'
  6. /*-----------------------------------------------------------------*/
  7.                 /* Wo ist die Brettliste ?
  8.                    ( Vorher mit ZP auslagern )                     */
  9. list.zpbm     = 'dh1:brettliste.zp'
  10. /*-----------------------------------------------------------------*/
  11.                 /* In diese Datei schreibt ZPBM die markierten
  12.                    Bretter, um Sie dann per AREXX zu verarbeiten.  */
  13. maps.zpbm     = 't:maps.zpbm'
  14. /*-----------------------------------------------------------------*/
  15.                 /* Unter diesem Namen wird die Brettliste, über der
  16.                    der Nachrichtencursor in ZP steht, gespeichert.
  17.                    Normalerweise hat man eine feste Brettliste, die
  18.                    bei list.zpbm angegeben wird.                   */
  19. templist.zpbm = 't:brettliste.zpbm'
  20. /*-----------------------------------------------------------------*/
  21.                 /* Unter diesem Namen wird eine List der in ZP
  22.                    eingetragenen Bretter erstellt.                 */
  23. zplist.zpbm   = 't:boardlist.zpbm'
  24.  
  25. /*-----------------------------------------------------------------*/
  26.                 /* Welche Sprache soll ZPBM Verwenden ?
  27.                    'default' für Systemeinstellung                 */
  28. language_zpbm = 'deutsch'
  29. /*-----------------------------------------------------------------*/
  30.                 /* Wie heißt der MAPS Ihres Servers ?              */
  31. maps_zpbm     = 'MAPS'
  32. /*-----------------------------------------------------------------*/
  33.                 /* Welches Kommando erwartet Ihr MAPS um Bretter zu
  34.                    bestellen ?                                     */
  35. mapsadd_zpbm  = 'ADD'
  36. /*-----------------------------------------------------------------*/
  37.                 /* Welches Kommando erwartet Ihr MAPS um Bretter
  38.                    abzubestellen ?                                 */
  39. mapsdel_zpbm  = 'DEL'
  40.  
  41. /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  42.  *      Bitte geben Sie hier ihre Präferenzen ein !                *
  43.  *******************************************************************/
  44.  
  45. /*******************************************************************
  46.  *      Bitte unterhalb dieser Zeile nichts mehr verändern!        *
  47.  *******************************************************************/
  48.  
  49. OPTIONS RESULTS
  50.  
  51. PARSE ARG zpPort
  52. IF zpPort == '' THEN
  53.    zpPort = 'ZPoint'
  54. ADDRESS VALUE zpPort
  55.  
  56. GUILOCK ON
  57.  
  58. WHICHLEVEL
  59. LEVEL=RESULT
  60. IF (RESULT = 'BOARD') THEN
  61. DO
  62.   BOARDINFO LABEL
  63.   BOARDNAME=RESULT
  64.   MESSAGEINFO SUBJECT
  65.   IF(VERIFY('LISTBRETTER',RESULT)=0) THEN
  66.   DO
  67.     SAVEMESSAGEBODY templist.zpbm
  68.     list.zpbm = templist.zpbm
  69.     MESSAGEINFO AUTHOR
  70.     maps_zpbm = RESULT
  71.   END
  72. END
  73. ELSE
  74. DO
  75.   IF(RESULT = 'BOARDMENU') THEN
  76.   DO
  77.     BOARDINFO LABEL
  78.     BOARDLABEL=RESULT
  79.   END
  80. END
  81.   
  82. CALL CREATELIST
  83.  
  84. ADDRESS COMMAND zpbm 'PUBSCREEN='zpPort' LIST='list.zpbm'
  85.                       ZPLIST='zplist.zpbm'
  86.                       MAPS='maps.zpbm' LANGUAGE='language_zpbm''
  87.  
  88. HELP=RC
  89. BIN=HELP
  90.   /* Create */
  91. IF(BITAND(C2B(BIN),C2B(8))=C2B(8)) THEN
  92.   CALL CREATEBOARDS
  93. BIN=HELP
  94.   /* Delete */
  95. IF(BITAND(C2B(BIN),C2B(4))=C2B(4)) THEN
  96.   CALL DELETEBOARDS
  97.  
  98. BIN=HELP
  99.   /* DeRequest */
  100. IF(BITAND(C2B(BIN),C2B(2))=C2B(2)) THEN
  101. DO
  102.   CALL BOARD
  103.   WRITEMESSAGE maps.zpbm maps_zpbm mapsdel_zpbm
  104. END
  105.  
  106. BIN=HELP
  107.   /* Request */
  108. IF(BITAND(C2B(BIN),C2B(1))=C2B(1)) THEN
  109. DO
  110.   CALL BOARD
  111.   WRITEMESSAGE maps.zpbm maps_zpbm mapsadd_zpbm
  112. END
  113.  
  114. IF(EXISTS(templist.zpbm)) THEN
  115.   ADDRESS COMMAND DELETE templist.zpbm QUIET
  116. IF(EXISTS(maps.zpbm)) THEN
  117.   ADDRESS COMMAND DELETE maps.zpbm QUIET
  118. IF(EXISTS(zplist.zpbm)) THEN
  119.   ADDRESS COMMAND DELETE zplist.zpbm QUIET
  120.  
  121. WHICHLEVEL
  122. IF(LEVEL = 'BOARD') THEN
  123. DO
  124.   IF(RESULT = 'BOARD') THEN
  125.   DO
  126.     BOARDINFO LABEL
  127.     IF(RESULT ~= BOARDNAME) THEN
  128.     DO
  129.       BOARDMENU
  130.       JUMPTOBOARD 1
  131.       JUMPTOBOARD 'NAME' BOARDNAME
  132.       ENTERBOARD
  133.     END
  134.   END
  135.   ELSE
  136.   DO
  137.     JUMPTOBOARD 1
  138.     JUMPTOBOARD 'NAME' BOARDNAME
  139.     ENTERBOARD
  140.   END
  141. END
  142. ELSE
  143. DO
  144.   CALL BOARDMENU
  145.   IF(LEVEL = 'BOARDMENU') THEN
  146.   DO
  147.     JUMPTOBOARD 1
  148.     JUMPTOBOARD 'NAME' BOARDLABEL
  149.   END
  150.   IF(LEVEL = 'MAINMENU') THEN
  151.     MAINMENU
  152. END
  153.  
  154. GUILOCK OFF
  155.  
  156. EXIT /* Programmende */
  157.  
  158. /********************************************************************
  159.  *       PROCEDURE CREATELIST                                       *
  160.  ********************************************************************/
  161. CREATELIST:
  162.   CALL BOARDMENU
  163.   JUMPTOBOARD 2
  164.   IF OPEN(FILE, zplist.zpbm, 'W') THEN
  165.   DO
  166.     DOWN
  167.     DO WHILE(RC)
  168.       BOARDINFO LABEL
  169.       NIL=WRITELN(FILE,RESULT)
  170.       DOWN
  171.     END
  172.     NIL=CLOSE(FILE)
  173.   END
  174. RETURN
  175.  
  176. /********************************************************************
  177.  *       PROCEDURE DELETEBOARDS                                     *
  178.  ********************************************************************/
  179. DELETEBOARDS:
  180.   CALL BOARDMENU
  181.   JUMPTOBOARD 3
  182.   IF OPEN(FILE, maps.zpbm, 'R') THEN
  183.   DO
  184.     DO UNTIL EOF(FILE)
  185.       LINE=READLN(FILE)
  186.       IF COMPARE(LINE,'') THEN
  187.       DO
  188.         IF ~ABBREV(LINE,'/') THEN
  189.           LINE=INSERT('/',LINE)
  190.         JUMPTOBOARD 'NAME' LINE
  191.         IF(RC) THEN
  192.           DELETE
  193.       END
  194.     END
  195.     NIL=CLOSE(FILE)
  196.   END
  197. RETURN
  198.  
  199. /********************************************************************
  200.  *       PROCEDURE CREATEBOARDS                                     *
  201.  ********************************************************************/
  202. CREATEBOARDS:
  203. /* ------------- Diese Funktion läuft erst ab V37.197 ------------- */
  204. VERSION.No = "37.197 (7.8.95)"
  205. WHICHVERSION
  206. IF RESULT < VERSION.No THEN DO
  207.  REQUESTNOTIFY "Einrichten ist er ab Zodiac's Point" VERSION.no "möglich!"
  208.  RETURN
  209. END
  210.  HOMEPATH
  211.   HeimatPfad = RESULT
  212.   IF OPEN(FILE, maps.zpbm, 'R') THEN
  213.   DO
  214.    DO UNTIL EOF(FILE)
  215.    NEWBOARDNAME=READLN(FILE)
  216.     IF LINE ~= "" THEN CREATEBOARD newboardname Heimatpfad||newboardname
  217.    END
  218.   NIL=CLOSE(FILE)
  219.   END
  220. RETURN
  221.  
  222. /********************************************************************
  223.  *       PROCEDURE BOARDMENU                                        *
  224.  ********************************************************************/
  225. BOARDMENU:
  226.   WHICHLEVEL
  227.   IF (RESULT ~= 'BOARDMENU') THEN
  228.     BOARDMENU
  229. RETURN
  230.  
  231. /********************************************************************
  232.  *       PROCEDURE BOARD                                            *
  233.  ********************************************************************/
  234. BOARD:
  235. WHICHLEVEL
  236.   IF (RESULT ~= 'BOARD') THEN
  237.   DO
  238.     IF (RESULT = 'MAINMENU') THEN
  239.       BOARDMENU
  240.     JUMPTOBOARD 1
  241.     ENTERBOARD
  242.   END
  243. RETURN
  244.